/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package LogicadeNegocio;

/**
 *
 * @author clevano
 */
import CapadeDatos.DaoVerSexo;
import modelo.beanSexo;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JInternalFrame;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.general.DefaultPieDataset;
public class VerSexo {
JTable tabla;
JInternalFrame i1;
DefaultPieDataset pieDataset;
    DefaultTableModel dtm; // Modelo que se le pasas la JTABLE
    beanSexo elemento;
    public VerSexo(JTable tablaext,JInternalFrame i2) {
        tabla = tablaext; // Constructor...
        i1 = i2;
        pieDataset = new DefaultPieDataset();
        dtm = (DefaultTableModel) tabla.getModel();
    }
    ArrayList lista = DaoVerSexo.datosSexo();
    public void versexo() {
        int x=0;
        Iterator iterador = lista.iterator(); // Iterador para recorrer el ArrayList
        while (iterador.hasNext()) {
            elemento = (beanSexo) iterador.next();
            Object[] newRow = {elemento.getCodsexo(), elemento.getCansexos()};
            dtm = (DefaultTableModel) tabla.getModel(); //
            dtm.addRow(newRow); // añadimos la fila
            x=x+elemento.getCansexos();
        }
        Iterator iterador2 = lista.iterator(); // Iterador para recorrer el ArrayList
        while (iterador2.hasNext()) {
            elemento =  (beanSexo) iterador2.next();
            pieDataset.setValue(elemento.getCodsexo(),100*(elemento.getCansexos())/x);
        }
        tabla.setModel(dtm);
        JFreeChart chart = ChartFactory.createPieChart3D("Grafico de Barras",pieDataset,true,true,false);       
        ChartPanel panel = new ChartPanel(chart);
        panel.setPreferredSize(new java.awt.Dimension(500, 270));
        i1.setVisible(true);
        i1.setResizable(true);
        i1.setClosable(true);
        i1.setMaximizable(true);
        i1.setContentPane(panel);  
        i1.show();
   }
}
